<HTML>
<HEAD>
  <!-- Created with AOLpress/2.0 -->
  <!-- AP: Created on: 27-Jan-2003 -->
  <!-- AP: Last modified: 21-Apr-2006 -->
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<!--<TITLE>Building accented glyphs</TITLE> -->
    <TITLE>アクセントつきグリフの組み立て方</TITLE>
  <LINK REL="icon" href="../../_static/fftype16.png">
  <LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css">
</HEAD>
<BODY>
<DIV id="in">
  <H1 ALIGN=Center>
<!--Tutorial #4 -->
    チュートリアル (その 4)
  </H1>
  <UL>
    <LI>
<!--  <A HREF="editexample.html#FontCreate">Font Creation</A>-->
      <A HREF="editexample.html#FontCreate">フォントの作成</A>
    <LI>
<!--  <A HREF="editexample.html#CharCreate">Creating a glyph (tracing outlines)</A>-->
      <A HREF="editexample.html#CharCreate">グリフの作成 (アウトラインのトレース) 法</A>
    <LI>
<!--  <A HREF="editexample2.html#Navigating">Navigating to other glyph</A>-->
      <A HREF="editexample2.html#Navigating">他のグリフの呼び出し方</A>
    <LI>
<!--  <A HREF="editexample2.html#Creating-o">On to the next glyph (consistent
      directions)</A>-->
      <A HREF="editexample2.html#Creating-o">次のグリフに関して (矛盾のないパスの向き)</A>
    <LI>
<!--  <A HREF="editexample3.html#consistent-stems">Consistent serifs and stem
      widths</A>-->
      <A HREF="editexample3.html#consistent-stems">統一のとれたセリフとステムの太さ</A>
    <LI>
<!--  <A HREF="editexample4.html#accents">Building accented glyphs</A>-->
      <A HREF="editexample4.html#accents">アクセントつきグリフの組み立て方</A>
    <LI>
<!--  <A HREF="editexample4.html#ligature">Building a ligature</A>-->
      <A HREF="editexample4.html#ligature">合字の組み立て方</A>
    <LI>
<!--  <A HREF="editexample5.html#metrics">Examining metrics</A>-->
      <A HREF="editexample5.html#metrics">メトリックの確認法</A>
    <LI>
<!--  <A HREF="editexample5.html#Kerning">Kerning</A>-->
      <A HREF="editexample5.html#Kerning">カーニング</A>
    <LI>
<!--  <A HREF="editexample6.html#Variants">Glyph variants</A>-->
      <A HREF="editexample6.html#Variants">異体関係にあるグリフ</A>
    <LI>
<!--  <A HREF="editexample6.html#Marks">Anchoring marks</A>-->
      <A HREF="editexample6.html#Marks">アンカーマーク</A>
    <LI>
<!--  <A HREF="editexample6-5.html#Conditional">Conditional features</A>-->
      <A HREF="editexample6-5.html#Conditional">条件つき機能</A>
    <LI>
<!--  <A HREF="editexample7.html#checking">Checking your font</A>-->
      <A HREF="editexample7.html#checking">フォントのチェック法</A>
    <LI>
<!--  <A HREF="editexample7.html#generating">Generating it</A>-->
      <A HREF="editexample7.html#generating">フォントの出力方法</A>
    <LI>
<!--  <A HREF="editexample7.html#Families">Font Families</A>-->
      <A HREF="editexample7.html#Families">フォントファミリー</A>
    <LI>
<!--  <A HREF="editexample7.html#summary">Final Summary</A>-->
      <A HREF="editexample7.html#summary">最後のまとめ</A>
    <LI>
<!--  <A HREF="scripting-tutorial.html">Scripting Tutorial</A> -->
      <A HREF="scripting-tutorial.html">スクリプト処理のチュートリアル</A>
    <LI>
<!--  <A HREF="scriptnotes.html#Special">Notes on various scripts</A>-->
      <A HREF="scriptnotes.html#Special">各種の用字系における注意点</A>
  </UL>
  <H2>
<!--<A NAME="accents">Building</A> accented glyphs -->
    アクセントつきグリフの<A NAME="accents">組み立て方</A>
  </H2>
  <P>
<!--
  Latin, Greek and Cyrillic all have a large complement of accented glyphs.
  FontForge provides several ways to build accented glyphs out of base glyphs. -->
  ラテン文字、ギリシャ文字およびキリル文字はすべて大量の補助的なアクセントつきグリフを含んでいます。
  FontForge は、基底グリフ (base glyphs) からアクセントつきグリフを組み立てる方法をいくつか提供しています。
  <P>
<!--
  The most obvious mechanism is simple copy and paste:
  <A HREF="editmenu.html#Copy">Copy</A> the letter "A" and
  <A HREF="editmenu.html#Paste">Paste</A> it to "&Atilde;" then
  <A HREF="editmenu.html#Copy">copy</A> the tilde accent and
  <A HREF="editmenu.html#PasteInto">Paste it Into</A> "&Atilde;" (note Paste
  Into is subtly different from Paste. Paste clears out the glyph before pasting,
  while Paste Into merges what was in the glyph with the what is in the clipboard).
  Then you open up "&Atilde;" and position the accent so that it appears properly
  centered over the A. -->
  
  いちばん分かりやすいメカニズムは単純なコピー&amp;ペーストです:
  グリフ“A”を<A HREF="editmenu.html#Copy">コピー</A>して“&Atilde;”に<A HREF="editmenu.html#Paste">貼り付け</A>、次にチルダアクセントを<A HREF="editmenu.html#Copy">コピー</A>して“&Atilde;”に<A HREF="editmenu.html#PasteInto">追加貼り付け</A>します。(追加貼り付けが貼り付けとは微妙に異なることに注意してください)。
  <CODE>貼り付け(<U>P</U>)</CODE> コマンドは貼り付けの前に文字を消去しますが、<CODE>追加貼り付け</CODE> コマンドは、その文字の元の内容にクリップボードの中身を付け加えます)。
  それから“&Atilde;”を開いてアクセントの位置を調整し、A の真上に中心が来るようにします。
  <P>
<!--
  This mechanism is not particularly efficient, if you change the shape of
  the letter "A" you will need to regenerate all the accented glyphs built
  from it. FontForge has the concept of a
  <A HREF="overview.html#References">Reference</A> to a glyph. So you can Copy
  a Reference to "A", and Paste it, the Copy a Reference to tilde and Paste
  it Into, and then again adjust the position of the accent over the A. -->
  このメカニズムは、文字“A”の形を変更した場合には、特に非効率になります。その文字から組み立てられたすべてのアクセントつきグリフを構築し直さなければなりません。FontForge にはグリフへの<A HREF="overview.html#References">参照</A>という概念があります。ですから、A への参照をコピーし、貼りつけ、チルダへの参照をコピーして追加貼りつけし、それから A の上のアクセントの位置を再調整するという手順が使えます。
  <P>
<!--
  Then if you change the shape of the A the shape of the A in "&Atilde;" will
  be updated automagically - - as will the width of "&Atilde;". -->
  その後で A の形を変更しても、“&Atilde;”に含まれる A の形や“&Atilde;”の文字幅を、勝手に更新してくれます。
  <P>
<!--
  But FontForge knows that "&Atilde;" is built out of "A" and the tilde accent,
  and it can easily create your accented glyphs itself by placing the references
  in "&Atilde;" and then positioning the accent over the "A". (Unicode provides
  a database which lists the components of every accented glyph (in Unicode)).-->
  しかし FontForge は“&Atilde;”が“A”とチルダアクセントから造られていることを知っているので、これらの参照を“&Atilde;”に自動配置し、アクセントを“A”の真上に揃えることにより、アクセントつきグリフを簡単に作成することができます (Unicode 規格は、Unicode に含まれる各アクセントつきグリフの構成要素を列挙したデータベースを提供しています)。
  <P>
<!--
  As an example, open the file: tutorial/Ambrosia.sfd, then select all the
  glyphs at encodings 0xc0-0xff, and then press
  <A HREF="elementmenu.html#Accented">Element-&gt;Build-&gt;Build Accented</A>
  all the accented characters will magically appear (there are a few characters
  in this range which are not accented, and they will remain blank). -->
  例えば、ファイル <CODE>tutorial/Ambrosia.sfd</CODE> を開き、符号位置が 0xc0〜0xff の範囲にあるすべてのグリフを選択して <A HREF="elementmenu.html#Accented"><CODE>エレメント(<U>L</U>)</CODE>→<CODE>組み立て(<U>U</U>)</CODE>→<CODE>アクセントつきグリフを構築(<U>B</U>)</CODE></A> を押せば、すべてのアクセントつき文字がお任せで現れます (この範囲にはアクセントつき文字でない物が数文字ありますが、それらは空白のままになります)。
  <P>
<!--
  FontForge has a heuristic for positioning accents (most accents are centered
  over the highest point of the glyph), sometimes this will produce bad results
  (if the one of the two stems of "u" is slightly taller than the other the
  accent will be placed over it rather than being centered over the glyph),
  so you should be prepared to look at your accented glyphs after creating
  them. You may need to adjust one or two (or you may even want to redesign
  your base glyphs slightly). -->
  FontForge はアクセントの位置を決める経験的方法 (ほとんどのアクセントはグリフの最も高い位置を中心として、その上に配置する) を用いますが、時々これは悪い結果を招きます (もし“u”の 2 つのステムの片方がもう片方よりもわずかに高ければ、アクセントはグリフの中央の上に来ないで高いステムの上に来てしまいます) ので、アクセントつきグリフを作成した後は、目で確かめる心構えが必要です。
  <H2>
<!--<A NAME="ligature">Creating</A> a ligature -->
    合字の<A NAME="ligature">作成</A>
  </H2>
  <P>
<!--
  Unicode contains a number of ligature glyphs (in latin we have: &AElig;,
  OE, fi, etc. while in arabic there are hundreds). Again Unicode provides
  a database listing the components of each standard ligature. -->
  Unicode には多数の合字グリフが含まれています (ラテン文字では &AElig;, OE, fi などです。アラビア文字では数百にも及びます)。これに関しても、Unicode は各標準の合字の構成要素を列挙するデータベースを提供しています。
  <P>
<!--
  FontForge cannot create a nice ligature for you, but what it can do is put
  all the components of the ligature into the glyph with
  <A HREF="elementmenu.html#Accented">Element-&gt;Build-&gt;Build Composite</A>.
  This makes it slightly easier (at least in latin) to design a ligature. -->
  FontForge があなたのために美しい合字を作ってくれることは不可能ですが、<A HREF="elementmenu.html#Accented"><CODE>エレメント(<U>L</U>)</CODE>→<CODE>組み立て(<U>U</U>)</CODE>→<CODE>複合グリフを構築(<U>C</U>)</CODE></A> を用いれば、その合字のすべての構成要素を 1 個のグリフ上に配置することが可能です。
  これで、合字のデザインが (少なくともラテン文字では) 少しは楽になります。
  <TABLE BORDER CELLPADDING="2">
    <CAPTION>
<!--  Steps to building a ligature-->
      合字組み立てのための手順
    </CAPTION>
    <TR>
      <TD><P ALIGN=Center>
<!--    <IMG src="../../_images/ffi-refs.png" ALT="ffi ligature as references" WIDTH="154" HEIGHT="277"></TD> -->
	<IMG src="../../_images/ffi-refs.png" ALT="参照による ffi 合字" WIDTH="154" HEIGHT="277"></TD>
      <TD><P ALIGN=Center>
<!--    <IMG src="../../_images/ffi-unlink.png" WIDTH="154" HEIGHT="277" ALT="ffi after unlinking references"></TD> -->
	<IMG src="../../_images/ffi-unlink.png" WIDTH="154" HEIGHT="277" ALT="ffi の参照を解除したところ"></TD>
      <TD><P ALIGN=Center>
<!--	<IMG src="../../_images/ffi-moved.png" WIDTH="154" HEIGHT="277" ALT="ffi after lowering first f"></TD> -->
	<IMG src="../../_images/ffi-moved.png" WIDTH="154" HEIGHT="277" ALT="ffi の最初の f を下げたところ"></TD>
      <TD><P ALIGN=Center>
<!--    <IMG src="../../_images/ffi-rmoverlap.png" ALT="ffi after doing remove overlap" WIDTH="154"
	    HEIGHT="277"></TD> -->
	<IMG src="../../_images/ffi-rmoverlap.png" ALT="ffi の重複除去をしたところ" WIDTH="154"
	    HEIGHT="277"></TD>
      <TD><P ALIGN=Center>
<!--    <IMG src="../../_images/ffi-caret.png" ALT="ffi after adjusting ligature carets" WIDTH="154"
	    HEIGHT="277"></TD> -->
	<IMG src="../../_images/ffi-caret.png" ALT="ffi の合字キャレットを調整したところ" WIDTH="154"
	    HEIGHT="277"></TD>
    </TR>
    <TR VALIGN="Top">
<!--  <TD>Use the <A HREF="elementmenu.html#CharInfo">Element -&gt; Glyph Info</A>
	dialog to name the glyph and mark it as a ligature. Then use
	<A HREF="elementmenu.html#Accented">Element -&gt; Build -&gt; Build
	Composite</A> to insert references to the ligature components.</TD>-->
      <TD>グリフの名前を決め、合字であることを指定するために <A HREF="elementmenu.html#CharInfo"><CODE>エレメント(<U>L</U>)</CODE>→<CODE>グリフ情報(<U>I</U>)...</CODE></A> ダイアログを使います。次に <A HREF="elementmenu.html#Accented"><CODE>エレメント(<U>L</U>)</CODE>→<CODE>組み立て(<U>U</U>)</CODE>→<CODE>複合グリフを構築(<U>C</U>)</CODE></A> で合字の構成要素への参照を挿入します。</TD>
<!--  <TD>Use the <A HREF="editmenu.html#Unlink">Edit-&gt; Unlink References</A>
	command to turn the references into a set of contours.</TD>-->
      <TD><A HREF="editmenu.html#Unlink"><CODE>編集(<U>E</U>)</CODE>→<CODE>参照を解除(<U>N</U>)</CODE></A> コマンドを使って、参照を輪郭線に変換します。</TD>
<!--  <TD>Adjust the components so that they will look better together. Here the
	stem of the first f has been lowered.</TD>-->
      <TD>各要素がより揃って美しく見えるように調整します。ここでは最初の f のステムを下に動かしています。</TD>
<!--  <TD>Use the <A HREF="elementmenu.html#Remove">Element -&gt; Remove Overlap</A>
	command to clean up the glyph.</TD>-->
      <TD><A HREF="elementmenu.html#Remove"><CODE>エレメント(<U>L</U>)</CODE>→<CODE>重複処理(<U>V</U>)</CODE>→重なり合う図形を結合(<U>R</U>)</A> コマンドを使って、グリフを整理します。</TD>
<!--  <TD>Finally drag the ligature caret lines from the origin to more appropriate
	places between the components.</TD>-->
      <TD>最後に合字キャレットの線を、原点からもっと適切な構成要素間の場所に動かします。</TD>
    </TR>
  </TABLE>
  <P>
<!--
  Some word processors will allow the editing caret to be placed inside a ligature
  (with a caret position between each component of the ligature). This means
  that the user of that word processor does not need to know s/he is dealing
  with a ligature and sees behavior very similar to what s/he would see if
  the components were present. But if the word processor is to be able to do
  this it must have some information from the font designer giving the locations
  of appropriate caret positions. As soon as FontForge notices that a glyph
  is a ligature it will insert in it enough caret location lines to fit between
  the ligature's components. FontForge places these on the origin, if you leave
  them on the origin FontForge will ignore them. But once you have built your
  ligature you might want to move the pointer tool over to the origin line,
  press the button and drag one of the caret lines to its correct location.
  (Only TrueType and OpenType support this). -->
  一部のワードプロセッサは、合字の内部 (の合字の各構成要素の間の位置) にキャレットを置いて編集することができます。
  これは、ワードプロセッサの利用者が、合字を取り扱っていることを意識する必要が無く、そこに構成要素が置かれているときとほとんど同じふるまいを目にするということです。
  しかし、ワードプロセッサーがこの機能を可能にするためには、フォントデザイナーが適切なキャレット位置として設定した地点についていくつかの情報を得る必要があります。
  FontForge は、あるグリフが合字であることが分かっている場合、合字要素の間に配置するのに十分な個数のキャレット位置境界線をその文字に挿入します。
  FontForge はこれらを原点に置きます。もしあなたがこれらを原点に置いたままにしている場合、FontForge はそれらを無視します。
  しかし、合字を作成し終えたら、ポインタツールで原点に位置する線を移動し、ボタンを押してキャレット行の一つを正しい位置に移動したほうがよいでしょう。
  (TrueType と OpenType のみがこれをサポートしています)。
  <P>
  <P>
<!--
  <FONT COLOR="Red"><STRONG><BIG>CAVEAT: </BIG></STRONG></FONT>OpenType engines
  will only apply features which they believe are appropriate for the current
  script (in Latin scripts, Uniscribe will apply 'liga'). Even worse, some
  applications may choose not to apply any features ever (Word does not do
  ligatures in latin).
  <A HREF="http://www.microsoft.com/typography/specs/default.htm">Microsoft
  tries to document </A>what features they apply for which scripts in Uniscribe,
  but that isn't very helpful since Word and Office have quite different behavior
  than the default. -->
  <FONT COLOR="Red"><STRONG><BIG>警告: </BIG></STRONG></FONT>OpenType エンジンは、現在の用字系において適正であると判断した時にかぎり、機能を適用します (ラテン文字では、Uniscribe は&lsquo;liga&rsquo;機能のみを適用します)。
  Microsoft は、Uniscribe においてどのスクリプトにどの機能を適用するかを<A HREF="http://www.microsoft.com/typography/specs/default.htm">文書化しようとしています</A>が、Word および Office はデフォルトと全く異なる振舞いをするため、これはほとんど参考になりません。さらに悪いことに、いくつかのアプリケーションはおそらく一切の機能を適用しないことを選んでいます (Word はラテン文字の合字処理を行いません)。
  Microsoft は、Uniscribe においてどのスクリプトにどの機能を適用するかを<A HREF="http://www.microsoft.com/typography/specs/default.htm">文書化しようとしています</A>が、Word および Office はデフォルトと全く異なる振舞いをするため、これはほとんど参考になりません。
<!--
  There are a good many ligatures needed for the indic scripts, but Unicode
  does not provide an encoding for them. If you wish to build a ligature that
  is not part of Unicode you may do so. First <A HREF="faq.html#new-name">add
  an unencoded glyph to your font</A> (or if your font is a Unicode font, use
  a code point in the private use area), and name the glyph. The name is important,
  if you name it correctly FontForge will be able to figure out that it is
  a ligature and what its components are. If you want to build a ligature out
  of the glyphs "longs", "longs" and "l" then name it "longs_longs_l", if you
  want to build a ligature out of Unicode 0D15, 0D4D and 0D15 then name it
  "uni0D15_uni0D4D_uni0D15". -->
  インド系の用字系では非常に多くの合字が必要とされますが、Unicode はそれらに対してエンコーディングを割り当てていません。
  Unicode に含まれない合字が必要な場合、以下のようにすれば構築することができます。
  まず <A HREF="faq.html#new-name">エンコードされていないグリフをフォントに追加</A> し、グリフに名前をつけます (または Unicode フォントならば、私用領域のコードポイントを使用します)。
  名前は重要です。もしあなたが正確に名前を指定したならば、FontForge はそれが合字であり、どんな要素から構成されているかを知ることができるからです。
  グリフ“longs”,“longs”と“l”からなる合字を作成したい場合には、<CODE>“longs_longs_l”</CODE>と名前をつけます。Unicode 0D15, 0D4D と 0D15 からなる合字を組み立てる場合には<CODE>“uni0D15_uni0D4D_uni0D15”</CODE>と命名します。
  <P>
<!--
  Once you have named your ligature, and inserted its components (with Build
  Composite), you probably want to open the glyph,
  <A HREF="editmenu.html#Unlink">Unlink your References</A> and edit them to
  make a pleasing shape (as above). -->
  合字に名前をつけ、その構成要素を (「複合文字の構築」を使って) 挿入したならば、おそらくグリフを開きたくなるでしょう。
  <A HREF="editmenu.html#Unlink">参照を解除</A> して、それらが美しい形になるように編集してください。
  <P>
<!--
  <IMG SRC="charinfo-akhn.png" WIDTH="307" HEIGHT="401" ALT="Char Info for Akhand ligature type"
      ALIGN="Right">Finally you should check that FontForge has marked your glyph
  as a ligature (and, if so, as the right kind of ligature). Bring up the
  <A HREF="charinfo.html#ligature">Element-&gt;Glyph Info-&gt;Ligature</A>
  dialog. You should see a line like:<BR>
  -->
  <IMG src="../../_images/charinfo-akhn.png" WIDTH="307" HEIGHT="401" ALT="Akhand 合字タイプに対する文字情報"
      ALIGN="Right">最後に、FontForge がこのグリフを合字として印づけたかどうか (および、合字ならば、正しい種類の合字かどうか) を確認しましょう。
  <A HREF="charinfo.html#ligature"><CODE>エレメント(<U>L</U>)</CODE>→<CODE>グリフ情報(<U>I</U>)...</CODE>→<CODE>[合字]</CODE></A> サブダイアログを呼び出してください。
  以下のような行が表示されるでしょう:<BR>
  <TT>&nbsp; &nbsp; liga &nbsp;m longs longs l</TT><BR>
<!--  or <BR>-->
  または<BR>
  <TT>&nbsp; &nbsp; liga &nbsp;m uni0D15 uni0D4D uni0D15</TT><BR>
<!--
  In the first case you might want to add an additional line (by pressing the
  [New...] button:<BR> -->
  最初のケースでは、(<CODE>[新規(<U>N</U>)...]</CODE> ボタンを押して以下のような行を追加したほうがいいかもしれません:<BR>
  <TT>&nbsp; &nbsp; liga &nbsp;m longs_longs l</TT><BR>
<!--
  (assuming you have a longs_longs ligature already). While in the second case
  you might want to select the line, press the [Edit...] button and change
  the ligature type from 'liga' to 'akhn' (I don't know enough about Indic
  scripts to understand this distinction myself), yielding: <BR> -->
  (ここでは合字 <CODE>longs_longs</CODE> が既に作成済みだと仮定しています)。
  2 番目のケースでは、行を選択して <CODE>[編集(<U>E</U>)...]</CODE> ボタンを押して合字のタイプを&lsquo;liga&rsquo;から&lsquo;akhn&rsquo;に変更する必要があるでしょう (私自身は、この違いを理解するほどのインド系用字系に関する十分な知識がありません)。結果はこうなります:<BR>
  <TT>&nbsp; &nbsp; akhn &nbsp;m uni0D15 uni0D4D uni0D15</TT>
  <P>
  <P>
  <P ALIGN=Center>
  — <A HREF="editexample3.html">前</A> — <A HREF="overview.html">目次</A>
  — <A HREF="editexample5.html">次</A> —
</DIV>
</BODY></HTML>
